from random import *


seed(10)#随机种子，用于生成随机数
print( random())
#不同随机数种子生成的数不一样
seed(100)
print(random())

#randint（a，b）,产生[a,b]之间的随机数
number_1=randint(1,10)#产生一个随机数
print(number_1)
number_2=[randint(1,10) for i in range(10)]#产生十个随机数
print(number_2)

#randrange(a),产生[0，a)之间的随机数
number_1=randrange(10)#产生一个随机数
print(number_1)
number_2=[randrange(10) for i in range(10)]#产生是个随机数
print(number_2)

#randrange(a,b,c),产生[a,b)之间，步长为c的随机数
number_1=[randrange(0,10,2) for i in range(10)]#产生[0,10)之间，步长为2的随机数
print(number_1)

#产生随机浮点数
#random(),产生 0.0 到 1.0 之间的数
number_1 = [random() for i in range(10)]#产生 0.0 到 1.0 之间的数
print(number_1)

#uniform(a,b),产生a到b之间的随机浮点数
number_1 = [uniform(2.1, 3.5) for i in range(10)]
print(number_1)

#choice(sep),从目标序列（sep）中随机返回一个元素
number_1=choice(['win', 'lose', 'draw'])#返回一个字符串
print(number_1)
number_2=choice("python")#返回一个字符
print(number_2)

#choices(sep,weight,k),sep为内容，weight为每个内容的权重，代表着每个元素被抽到的概率，权重高的说明被抽到的概率大，k为抽出来的次数
number_1=choices(['win', 'lose', 'draw'], [4,4,2], k=10)#[4,4,2]就为每个元素的权重
print(number_1) 

#shuffle(n),将n中的元素打乱后重新排
number_1 = ["one", "two", "three", "four"]
print(number_1)
number_2=shuffle(number_1)#无法将打乱后的元素赋值给number_2
print(number_2)

#sample(pop,k),从pop中随机选取k个元素，若pop中元素数量大于k则会报错
number_1=sample([10, 20, 30, 40, 50], k=3)
print(number_1)

#guess(a,b)，产生一个符合高斯分布的随机数，a为均值，b为标准差
number_1 = gauss(0, 1)#产生一个随机数
print(number_1)
